home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus 1995 #5 & #6
/
Amiga Plus CD - 1995 - No. 5 and 6.iso
/
pd
/
serien
/
purity
/
nr.46
/
quicksort
/
quicksort.p
< prev
next >
Wrap
Text File
|
1995-03-27
|
1KB
|
68 lines
PROGRAM quicksort; { sortieren durch Zerlegen }
{ cøding døne by Røgersøft }
CONST n=10;
VAR feld:ARRAY[1..n] OF real;
PROCEDURE tausche(VAR element1,element2:REAL);
{vertausch 2 elemente geht schneller mit exchange =;) }
VAR puffer:REAL;
BEGIN
puffer:=element1;
element1:=element2;
element2:=puffer;
END;
PROCEDURE quicksort(links,rechts:INTEGER);
VAR i,j:INTEGER;
m:REAL;
BEGIN
IF links<rechts THEN
BEGIN
m:=feld[links];
i:=links;
j:=rechts;
WHILE i<=j DO
BEGIN
WHILE feld[i]<m DO i:=i+1;
WHILE feld[j]>m DO j:=j-1;
IF i<=j THEN
BEGIN
tausche(feld[i],feld[j]);
i:=i+1;
j:=j-1;
END;
END;
quicksort(links,j);
quicksort(i,rechts);
END;
END;
PROCEDURE eingabe;
var i:INTEGER;
BEGIN
writeln('Bitte ',n,' Elemente eingeben');
FOR i:=1 TO n DO readln(feld[i]);
END;
PROCEDURE ausgabe;
var i:INTEGER;
BEGIN
FOR i:=1 TO n DO writeln(feld[i]);
END;
BEGIN
eingabe;
quicksort(1,n);
ausgabe;
END.